package com.util;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;

/**
 * Created by 883564
 * on 2016/4/26.
 * 首选项工具类
 */
public class SharedPreferencesUtil {
    /**
     * 获取字符串
     * @param context 上下文
     * @param sharedPreferencesName 首选项文件名
     * @param flagName 标签名
     * @param defaultValue 默认值
     * @return 标签值
     */
    public String getString(Context context, String sharedPreferencesName, String flagName, String defaultValue){
        SharedPreferences mySharedPreferences= context.getSharedPreferences(sharedPreferencesName,
                Activity.MODE_PRIVATE);
        return mySharedPreferences.getString(flagName,defaultValue);
    }

    /**
     * 存储字符串
     * @param context 上下文
     * @param sharedPreferencesName 首选项文件名
     * @param flagName 标签名
     * @param value 标签值
     */
    public void saveString(Context context,String sharedPreferencesName, String flagName,String value){
        SharedPreferences mySharedPreferences= context.getSharedPreferences(sharedPreferencesName,
                Activity.MODE_PRIVATE);
        SharedPreferences.Editor editor = mySharedPreferences.edit();
        editor.putString(flagName,value);
        //使用apply方法代替commit方法，因为apply将会在后台处理持久化操作
        editor.apply();
    }

    /**
     * 获取整型值
     * @param context 上下文
     * @param sharedPreferencesName 首选项文件名
     * @param flagName 标签名
     * @param defaultValue 默认值
     * @return 标签值
     */
    public int getInt(Context context, String sharedPreferencesName, String flagName, int defaultValue){
        SharedPreferences mySharedPreferences= context.getSharedPreferences(sharedPreferencesName,
                Activity.MODE_PRIVATE);
        return mySharedPreferences.getInt(flagName,defaultValue);
    }

    /**
     * 存储整型值
     * @param context 上下文
     * @param sharedPreferencesName 首选项文件名
     * @param flagName 标签名
     * @param value 标签值
     */
    public void saveInt(Context context,String sharedPreferencesName, String flagName,int value){
        SharedPreferences mySharedPreferences= context.getSharedPreferences(sharedPreferencesName,
                Activity.MODE_PRIVATE);
        SharedPreferences.Editor editor = mySharedPreferences.edit();
        editor.putInt(flagName,value);
        //使用apply方法代替commit方法，因为apply将会在后台处理持久化操作
        editor.apply();
    }
}
